/* 
 * Business.java
 * 
 * Data de criação: 16/10/2010
 * 
 * O2 SOLUTIONS - SOLUÇÕES EM TECNOLOGIA DA INFORMAÇÃO. 
 *
 */
package br.com.o2solutions.core.aop.business.annotation;

import org.springframework.stereotype.Component;

import br.com.o2solutions.core.aop.business.annotation.ApplyRule;
import br.com.o2solutions.core.aop.business.rule.CheckRuleInterceptor;

/**
 * Especialização de {@link Component} para a definição dos objetos negociais a
 * serem interceptados pelo {@link CheckRuleInterceptor} para aplicação das
 * rules. Somente os objetos com esta anotação estão aptos a terem seus métodos
 * (desde que também estejam anotados com a anotação {@link ApplyRule})
 * interceptados.
 * 
 * @author osvaldeir
 * @since 16/10/2010
 * 
 */
@Component
public @interface Business {

	/**
	 * O valor indica um nome sugestivo para o componente negocial. Caso não
	 * seja definido ficará a critério do framework a definição.
	 * 
	 * @return o nome sugestivo para o componente
	 */
	String value() default "";
}
